// 时期转时间戳
export function dateToStamp (date) {
  let returnTime = date.toString().replace('-', '/').replace('-', '/')
  returnTime = new Date(returnTime).getTime()
  return returnTime
}
// 保留3位小数
export function numberThreeDot (value) {
  let realVal = ''
  if (!isNaN(value) && value !== '') {
    // 截取当前数据到小数点后三位
    let tempVal = parseFloat(value).toFixed(3)
    realVal = tempVal.substring(0, tempVal.length - 1)
  } else {
    realVal = '--'
  }
  return realVal
}
// 验证手机号
export function checkMobile (mobile) {
  if (mobile && /^1[3|4|5|8|7|6|9|2|0]\d{9}$/.test(mobile)) {
    return true
  } else {
    return false
  }
}

// 滚动条滚到顶部
export function toMyTop () {
  setTimeout(() => {
    let div = document.getElementById('app')
    div.scrollTop = 0
  }, 5)
}
// 保留几位小数
export function numberThreeDotNum (value, num) {
  let realVal = ''
  if (!isNaN(value) && value !== '') {
    // 截取当前数据到小数点后三位
    let tempVal = parseFloat(value).toFixed(num)
    realVal = tempVal.substring(0, tempVal.length - 1)
  } else {
    realVal = '--'
  }
  return realVal
}

// 小于10的时候加个0
export function zeroize (obj) {
  return obj < 10 ? '0' + obj : obj
}

// 根据日期获取星期几
export function byDateToWeek (value) {
  var weekDay = ['星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']
  var myDate = new Date(Date.parse(value))
  return weekDay[myDate.getDay()]
}


/**
 * 根据传入的时间与现在的时间差
 * 将时间差转成可读字符串 如:刚刚、3秒前、一小时前等等
 *
 * @param time 需要进行比较的毫秒级时间(毫秒 同时需要 小于 当前时间)
 * @return 返回可读字符串, 大于20天的 将会直接显示日期
 */
export function timeDifference(time) {
  console.log(111);
  if (time === null || time === undefined) {
    return ''
  }

  // 获取两个日期之间相差的毫秒数
  const timeDifference = Math.abs(Date.now() - new Date(time))

 
  const days = timeDifference / 1000 / 60 / 60 / 24
  const hours = timeDifference / 1000 / 60 / 60 - (24 * Math.floor(days))
  const minutes = timeDifference / 1000 / 60 - (24 * 60 * Math.floor(days)) - (60 * Math.floor(hours))
  const seconds = timeDifference / 1000 - (24 * 60 * 60 * Math.floor(days)) - (60 * 60 * Math.floor(hours)) - (60 * Math.floor(minutes))
 
  // 1分钟以内(1分钟 = 60000ms)
  if (timeDifference < 60000) {
    // 如果是5秒内
    const just = 5
    if (timeDifference < 1000 * just) {
      return '刚刚'
    } else {
      return Math.floor(seconds) + '秒前'
    }
  }
 
  // 一小时内(大于 1分钟[60000ms] 小于 1小时[3600000ms])
  if (timeDifference >= 60000 && timeDifference < 3600000) {
    return Math.floor(minutes) + '分钟前'
  }
 
  // 一天内
  if (timeDifference >= 3600000 && timeDifference < 86400000) {
    return Math.floor(hours) + '小时前'
  }
 
  // 二十天内
  const twentyDays = 86400000 * 20
  if (timeDifference >= 86400000 && timeDifference < twentyDays) {
    return Math.floor(days) + '天前'
  }
 
  return ''
}